RTDS: pack trace data better for xentrace_format
authorDario Faggioli <dario.faggioli@citrix.com>
Thu, 18 Feb 2016 14:04:23 +0000 (15:04 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 18 Feb 2016 14:04:23 +0000 (15:04 +0100)
commit3c4c42a0c48ad33690a8e93c2ea1c9e90d72f63b
tree039a242891fab7b978a12bbf1a2562e97b03e557
parentbf1891699b560208b1616e78b233b0b7cd608fae
RTDS: pack trace data better for xentrace_format

when tracing runstate changes, the vcpu and domain IDs
are encoded in the lower and higher, respectively, parts
of a 32 bits integer. When decoding a trace with
xentrace_format, this makes it possible to display
such events like this:

CPU0  833435853624 (+     768)  running_to_runnable [ dom:vcpu = 0x7fff0000 ]
CPU0  833435854416 (+     792)  runnable_to_running [ dom:vcpu = 0x00000007 ]

For consistency, we should do the same when displaying
the events coming from the RTDS scheduler (when using
the same tool), and to do that, we need to invert the
order in which the fields are being put in the trace
struct right now.

While there, we also:
 - fix the use of TRC_RTDS_SCHED_TASKLET (it should
   only be involved when a tasklet is scheduled, not
   _every_ time rt_schedule() is invoked!);
 - remove a very chatty and useless (nothing has been
   picked!) use of TRC_RTDS_RUNQ_PICK.

In fact, one can already figure out when nothing has been
picked from the runqueue, by looking at when cpu_idle
is invoked --which is the same thing one would do if on
Credit or Credit2.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: George Dunlap <george.dunlap@citrix.com>
xen/common/sched_rt.c